V2Factory
The Factory contract is responsible for creating and managing unique liquidity pools for various token pairs. The receiver of the trading fees among these liquidity pools is set on this contract.
The full contract can be found here.
Events
PairCreated
event PairCreated(address indexed token0, address indexed token1, address pair, uint);
Emitted each time a pair is created via createPair.
token0
is guaranteed to be strictly less thantoken1
by sort order.- The final
uint
log value will be1
for the first pair created,2
for the second, etc. (see allPairs/getPair).
Read-Only Functions
allPairs
function allPairs(uint) external view returns (address pair);
Returns the address of the n
th pair (0
-indexed) created through the factory, or address(0)
(0x0000000000000000000000000000000000000000
) if not enough pairs have been created yet.
- Pass
0
for the address of the first pair created,1
for the second, etc.
getPair
function getPair(address tokenA, address tokenB) external view returns (address pair);
Returns the address of the pair for tokenA
and tokenB
, if it has been created, else address(0)
(0x0000000000000000000000000000000000000000
).
tokenA
andtokenB
are interchangeable.
Parameters
Name | Type | Description |
---|---|---|
tokenA | address | address of one of the tokens in the pair |
tokenB | address | address of the other token in the pair |
allPairsLength
function allPairsLength() external view returns (uint);
Returns the total number of pairs created through the factory so far.
feeTo
function feeTo() external view returns (address);
Returns the address of where the feeTo is set to. If address(0)
then the fees are not turned on.
feeToSetter
function feeToSetter() external view returns (address);
The address allowed to change feeTo.
migrator
function migrator() external view returns (address);
Returns the address of the migrator contract (used to migrate liquidity initially from uniswap to sushiswap).
State-Changing Functions
createPair
function createPair(address tokenA, address tokenB) external returns (address pair);
Creates a pair for tokenA
and tokenB
if one doesn't exist already.
tokenA
andtokenB
are interchangeable.Emits PairCreated.
tokenA
andtokenB
are interchangeable.
Name | Type | Description |
---|---|---|
tokenA | address | address of one of the tokens in the pair |
tokenB | address | address of the other token in the pair |
setFeeTo
function setFeeTo(address _feeTo) external;
Sets the feeTo
Parameters
Name | Type | Description |
---|---|---|
_feeTo | address | address of where to send protocol fees to |
setMigrator
function setMigrator(address _migrator) external;
Sets the migrator.
setFeeToSetter
function setFeeToSetter(address _feeToSetter) external;
Sets the feeToSetter.
Parameters
Name | Type | Description |
---|---|---|
_feeToSetter | address | address that can change the feeTo address |
Interface
pragma solidity >=0.5.0;
interface IUniswapV2Factory {
event PairCreated(address indexed token0, address indexed token1, address pair, uint);
function feeTo() external view returns (address);
function feeToSetter() external view returns (address);
function migrator() external view returns (address);
function getPair(address tokenA, address tokenB) external view returns (address pair);
function allPairs(uint) external view returns (address pair);
function allPairsLength() external view returns (uint);
function createPair(address tokenA, address tokenB) external returns (address pair);
function setFeeTo(address) external;
function setFeeToSetter(address) external;
function setMigrator(address) external;
}